2
תגובות

הצגת גיל לפי תאריך לידה

פתח itayFO ,
שלום , אני מנסה להריץ את הקובץ הזה :
$birthday = $_POST['day']. '/' .$_POST['month'].'/'
.$_POST['year'];
$birth = strtotime('$birthday');
$age = date('Y') - date('Y', $birth);
echo $age ;

ומשום מה התוצאה של $birth נשארת תמיד 42...
אפ אני מדפיס את birthday זה יוצא כרגיל התאריך, לפי מה שהבנתי זה אמור להוציא אמור מספרים , למשל אני אני מכניס תאריך בstrtotime זה עובד בלי בעיה.

2 תשובות

avatar ענה intval ב 25 לאוגוסט 2012 #

חיסור תאריכים

הסיבה לבעיה בקוד שלך היא שהשנה של birth היא לא מה שאתה חושב שהיא.

<?php
//$birthday = $_POST['day']. '/' .$_POST['month'].'/'.$_POST['year'];
$birthday = '20/12/1975';
$birth = strtotime('$birthday');

// debug 1. Lets see if strtotime works properly
echo date('Y', $birth), "<br/>"; // expected to be 1975
// if not 1800, something went wrong in line 3

// debug 2. lets see what year is it now
echo date('Y'), "<br>"; // expected 2012
// if it's not 2012, the time is incorrectly set on the computer


$age = date('Y') - date('Y', $birth);
echo $age;

שים לב טוב למה שקורה לא נכון.
אחרי זה תסתכל בדוקומנטציה איך לתקן את זה.

avatar ענה raslin ב 25 לאוגוסט 2012 #

תתחיל מזה שתוריד את המרכאות כשאתה מעביר את $birthday לפונקציה strtotime